In a typical web-based server application, user access to information is achieved via a web server, with the application requiring the user to be authenticated by, e.g., a user id and/or a password. When a user desires access to a new application (such as a database management system (DBMS) engine; new applications will often have a different configuration and/or manufacturer than the initial application), such a new server has a login/authentication procedure which is independent of previous login/authentication procedures encountered by the user. To access the web pages, appropriate identification credentials must be presented to the new application. This is conventionally accomplished by requiring the user to input additional login/authentication information specific to the new application, or by hard-coding a generic login and password in the scripts used by the user's web server to access the new application and dynamically generate a new web page using the output from the application.
Both of these solutions are unsatisfactory. Requiring the user to input additional information places a burden on the user to remember multiple logins and passwords, further places a burden on each server and system administrator to maintain multiple user accounts for each and every access by a user, and is a potential security risk because passwords are transmitted unencrypted over the network. Using a generic or static login and password in a script is a potential security hole and does not readily provide different levels of access based on the identity of the user.
These issues have been addressed by the so-called new technology LAN manager (NTLM) automated authentication system. In the NTLM system, once the user is initially authenticated to a Microsoft network or to a Microsoft Windows NT domain (using a password), similar components (the web browser and server) can assure one another of the user's identity. This assurance occurs transparently to the user. However, this system does not perform authentication to a new application (beyond the server). Thus, the NTLM authentication system is of limited utility for many users.
U.S. Pat. No. 5,689,638 to Sadovsky discloses a method and system for accessing independent network resources without prompting the user for authentication data. When the system receives a user request to access an independent network resource, system logon and server authentication data is autonomously supplied to the independent network resource without further user interaction. Sadovsky, however, is not concerned with a worldwide web hypertext transfer protocol environment, and is not concerned with authentication information based on the user's role. In the Sadovsky system, a password cache is maintained in the main memory of a local computer system. The password cache contains a server name, user name and password for each server to be accessed by a particular user. When presented with an access request, network software searches the password cache structure for the server authentication information before passing it on to the server to be accessed.
U.S. Pat. No. 5,678,041 to Baker et al. discloses a system and method that restricts a user's access of Internet information based on a rating category and/or ID associated with a particular terminal through the implementation of a firewall internal to a user's computer network. The firewall prevents the user from accessing certain types of Internet information (e.g., prevents children from accessing obscene material, prevents workers from accessing non-work related material, etc.). Thus, Baker is concerned with an internal authorization to access remote resources (which are presumed to be public resources), and is not concerned with a system in which authentication information is required by the remote resources.
It would be desirable to allow a user to easily, automatically, and transparently authorized to access, via a web server, a plurality of applications which require authentication, whether in an intranet or internet environment. It would further be desirable for such a scheme to be implemented in a hypertext transfer protocol (HTTP) environment, and to maintain the security of the network. It would further be desirable to allow access regardless of whether the applications are operating in the same or different environments.